Есть ряд методов машинного обучения, которым раньше иногда посвящали в курсах целую лекцию, в учебниках целую главу, и вообще относились с большой серьезностью. Сейчас же ситуация немного поменялась, потому что из классических (не deep learning) методов как правило используются или линейные модели (когда нужна интерпретируемость или легкость настройки и выкатки в продакшн, либо когда признаки разреженные, либо когда известно, что зависимость с какой-то точностью можно считать линейной, либо когда мало данных и нет доводов в пользу какого-то другого вида модели) или градиентный бустинг над деревьями (примерно во всех остальных случаях).
Уже лет пять или даже больше я, когда веду курсы машинного обучения, выхожу из положения следующим образом: рассказ про «простые методы» при всем их разнообразии помещается в начале курса в одно занятие, чтобы дать некоторый исторический экскурс и уберечь слушателей от самостоятельного «изобретения» этих методов с последующими большими надеждами, что «ух сейчас как заработает!». Во вторую очередь я отдаю дань истории, потому что не знаю, к кому слушатели однажды попадут на собеседование. Вдруг там будет какой-то любитель наивного байесовского классификатора или kNN, который откажет кандидату просто по принципу «если он такие простые вещи не знает, то о чем с ним говорить». Далее я приведу небольшое описание этих «простых алгоритмов», и чем они еще могут пригодиться в 2024 году.
Метод k ближайших соседей Идея метода проста до ужаса: чтобы классифицировать объект выборки, найдем k объектов, похожих на него, и ответим тем классом, который среди них больше представлен. Хотим решить задачу регрессии (спрогнозировать число)? Без проблем, также найдем k ближайших объектов и усредним правильные ответы по ним. Ну например, если хотим понять, сколько заработает магазин в новой локации, находим k похожих на него и просто усредняем их продажи. Вот такой вот простой прогноз. Только когда говорят "ближайшие соседи" имеют ввиду именно в пространстве признаков, т.е. прогнозировать продажи в новом магазине надо не по географически ближайшим, а по тем, у которых похожий полный набор параметр: распределение доходов клиентов вокруг локации, количество своих магазинов и магазинов конкурентов рядом, размер города и т.д.
Если продажи в новом магазине сейчас вряд ли кто-то серьезно прогнозирует с помощью kNN, то вот в персональных рекомендациях метод k ближайших соседей до сих пор остается бейзлайном, и хорошо если всякие матричные разложения, бустинги и нейросетки его превосходят по качеству. Гораздо забавнее, если нет, потому что не сравнивали 🙂
Кроме того, kNN это достаточно широкое множество алгоритмов в том смысле, что есть какие параметры покрутить. Можно взвешивать и преобразовывать признаки, можно назначать разные веса соседям, можно применять всякие Kernel-based методы, в общем при желании есть куда закопаться, а это мы еще не вспомнили про быстрый поиск соседей в N-мерном пространстве признаков и всякие там ANN (Approximate Nearest Neighbors). В общем те, кто любят kNN, найдут чем занять и лекцию, и главу, и даже целый учебник.
Есть ряд методов машинного обучения, которым раньше иногда посвящали в курсах целую лекцию, в учебниках целую главу, и вообще относились с большой серьезностью. Сейчас же ситуация немного поменялась, потому что из классических (не deep learning) методов как правило используются или линейные модели (когда нужна интерпретируемость или легкость настройки и выкатки в продакшн, либо когда признаки разреженные, либо когда известно, что зависимость с какой-то точностью можно считать линейной, либо когда мало данных и нет доводов в пользу какого-то другого вида модели) или градиентный бустинг над деревьями (примерно во всех остальных случаях).
Уже лет пять или даже больше я, когда веду курсы машинного обучения, выхожу из положения следующим образом: рассказ про «простые методы» при всем их разнообразии помещается в начале курса в одно занятие, чтобы дать некоторый исторический экскурс и уберечь слушателей от самостоятельного «изобретения» этих методов с последующими большими надеждами, что «ух сейчас как заработает!». Во вторую очередь я отдаю дань истории, потому что не знаю, к кому слушатели однажды попадут на собеседование. Вдруг там будет какой-то любитель наивного байесовского классификатора или kNN, который откажет кандидату просто по принципу «если он такие простые вещи не знает, то о чем с ним говорить». Далее я приведу небольшое описание этих «простых алгоритмов», и чем они еще могут пригодиться в 2024 году.
Метод k ближайших соседей Идея метода проста до ужаса: чтобы классифицировать объект выборки, найдем k объектов, похожих на него, и ответим тем классом, который среди них больше представлен. Хотим решить задачу регрессии (спрогнозировать число)? Без проблем, также найдем k ближайших объектов и усредним правильные ответы по ним. Ну например, если хотим понять, сколько заработает магазин в новой локации, находим k похожих на него и просто усредняем их продажи. Вот такой вот простой прогноз. Только когда говорят "ближайшие соседи" имеют ввиду именно в пространстве признаков, т.е. прогнозировать продажи в новом магазине надо не по географически ближайшим, а по тем, у которых похожий полный набор параметр: распределение доходов клиентов вокруг локации, количество своих магазинов и магазинов конкурентов рядом, размер города и т.д.
Если продажи в новом магазине сейчас вряд ли кто-то серьезно прогнозирует с помощью kNN, то вот в персональных рекомендациях метод k ближайших соседей до сих пор остается бейзлайном, и хорошо если всякие матричные разложения, бустинги и нейросетки его превосходят по качеству. Гораздо забавнее, если нет, потому что не сравнивали 🙂
Кроме того, kNN это достаточно широкое множество алгоритмов в том смысле, что есть какие параметры покрутить. Можно взвешивать и преобразовывать признаки, можно назначать разные веса соседям, можно применять всякие Kernel-based методы, в общем при желании есть куда закопаться, а это мы еще не вспомнили про быстрый поиск соседей в N-мерном пространстве признаков и всякие там ANN (Approximate Nearest Neighbors). В общем те, кто любят kNN, найдут чем занять и лекцию, и главу, и даже целый учебник.
Secret Chats are one of the service’s additional security features; it allows messages to be sent with client-to-client encryption. This setup means that, unlike regular messages, these secret messages can only be accessed from the device’s that initiated and accepted the chat. Additionally, Telegram notes that secret chats leave no trace on the company’s services and offer a self-destruct timer.
The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.